package com.spark.invoicings.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.math.BigDecimal;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * 销售收款单表
 *
 * @author sunyan
 * @email sunyan@gmail.com
 * @date 2024-06-26 16:52:15
 */
@Data
@TableName("t_receipt")
public class Receipt implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 销售收款单id
     */
    @TableId(type = IdType.AUTO)
    private Integer receiptId;
    /**
     * 审批状态
     */
    private Integer approvalStatusId;
    /**
     * 客户id
     */
    private Integer customerId;
    /**
     * 客户对账单id
     */
    private Integer customerStatementId;
    /**
     * 收款账户id
     */
    private Integer receivingAccountId;
    /**
     * 收款金额
     */
    private double amountReceived;
    /**
     * 财务
     */
    private String finance;
    /**
     * 收款日期
     */
    private Date receivingDate;
    /**
     * 凭证
     */
    private String voucher;
    /**
     * 备注
     */
    private String remark;
    /**
     * 已核销金额
     */
    private double verifiedAmount;
    /**
     * 待核销金额
     */
    private double pendingVerificationAmount;
    /**
     * 审批人
     * */
    private String approver;
    /**
     * 审批时间
     * */
    private String approvalTime;

    /**
     * 客户关联对象
     * */
    @TableField(exist = false)
    private SaleCustomer saleCustomer;

    public String getApprover() {
        return approver;
    }

    public void setApprover(String approver) {
        this.approver = approver;
    }

    public String getApprovalTime() {
        return approvalTime;
    }

    public void setApprovalTime(String approvalTime) {
        this.approvalTime = approvalTime;
    }

    public Integer getReceiptId() {
        return receiptId;
    }

    public void setReceiptId(Integer receiptId) {
        this.receiptId = receiptId;
    }

    public Integer getApprovalStatusId() {
        return approvalStatusId;
    }

    public void setApprovalStatusId(Integer approvalStatusId) {
        this.approvalStatusId = approvalStatusId;
    }

    public Integer getCustomerId() {
        return customerId;
    }

    public void setCustomerId(Integer customerId) {
        this.customerId = customerId;
    }

    public Integer getCustomerStatementId() {
        return customerStatementId;
    }

    public void setCustomerStatementId(Integer customerStatementId) {
        this.customerStatementId = customerStatementId;
    }

    public Integer getReceivingAccountId() {
        return receivingAccountId;
    }

    public void setReceivingAccountId(Integer receivingAccountId) {
        this.receivingAccountId = receivingAccountId;
    }

    public double getAmountReceived() {
        return amountReceived;
    }

    public void setAmountReceived(double amountReceived) {
        this.amountReceived = amountReceived;
    }

    public String getFinance() {
        return finance;
    }

    public void setFinance(String finance) {
        this.finance = finance;
    }

    public Date getReceivingDate() {
        return receivingDate;
    }

    public void setReceivingDate(Date receivingDate) {
        this.receivingDate = receivingDate;
    }

    public String getVoucher() {
        return voucher;
    }

    public void setVoucher(String voucher) {
        this.voucher = voucher;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public double getVerifiedAmount() {
        return verifiedAmount;
    }

    public void setVerifiedAmount(double verifiedAmount) {
        this.verifiedAmount = verifiedAmount;
    }

    public double getPendingVerificationAmount() {
        return pendingVerificationAmount;
    }

    public void setPendingVerificationAmount(double pendingVerificationAmount) {
        this.pendingVerificationAmount = pendingVerificationAmount;
    }

    public SaleCustomer getSaleCustomer() {
        return saleCustomer;
    }

    public void setSaleCustomer(SaleCustomer saleCustomer) {
        this.saleCustomer = saleCustomer;
    }
}